package cn.bugstack.mybatis.executor.statement;

import cn.bugstack.mybatis.mapping.BoundSql;

import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.List;

/**
 * statement 处理器
 */
public interface StatementHandler {
    Statement prepare(Connection connection);


    void parameterize(Statement statement) throws Exception;


    <E> List<E> query(Statement statement) throws Exception;

    int update(Statement statement) throws SQLException;

    BoundSql getBoundSql();
}
